package evol

import java.lang.reflect.Array;

import grails.gorm.PagedResultList
import org.springframework.dao.DataIntegrityViolationException

class RezultatController  extends OsnovniController {
	static Object lista
	static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

	def index() {
		redirect(action: "list", params: params)
	}

	def create() {
		[rezultatInstance: new Rezultat(params)]
	}

	def save() {
		def rezultatInstance = new Rezultat(params)
		if (!rezultatInstance.save(flush: true)) {
			render(view: "create", model: [rezultatInstance: rezultatInstance])
			return
		}

		flash.message = message(code: 'default.created.message', args: [
			message(code: 'rezultat.label', default: 'Rezultat'),
			rezultatInstance.id
		])
		redirect(action: "show", id: rezultatInstance.id)
	}

	def show() {
		def rezultatInstance = Rezultat.get(params.id)
		if (!rezultatInstance) {
			flash.message = message(code: 'default.not.found.message', args: [
				message(code: 'rezultat.label', default: 'Rezultat'),
				params.id
			])
			redirect(action: "list")
			return
		}

		[rezultatInstance: rezultatInstance]
	}

	def edit() {
		def rezultatInstance = Rezultat.get(params.id)
		if (!rezultatInstance) {
			flash.message = message(code: 'default.not.found.message', args: [
				message(code: 'rezultat.label', default: 'Rezultat'),
				params.id
			])
			redirect(action: "list")
			return
		}

		[rezultatInstance: rezultatInstance]
	}

	def update() {
		def rezultatInstance = Rezultat.get(params.id)

		if (!rezultatInstance) {
			flash.message = message(code: 'default.not.found.message', args: [
				message(code: 'rezultat.label', default: 'Rezultat'),
				params.id
			])
			redirect(action: "list")
			return
		}

		if (params.version) {
			def version = params.version.toLong()
			if (rezultatInstance.version > version) {
				rezultatInstance.errors.rejectValue("version", "default.optimistic.locking.failure",
						[
							message(code: 'rezultat.label', default: 'Rezultat')]
						as Object[],
						"Another user has updated this Rezultat while you were editing")
				render(view: "edit", model: [rezultatInstance: rezultatInstance])
				return
			}
		}

		rezultatInstance.properties = params

		if (!rezultatInstance.save(flush: true)) {
			render(view: "edit", model: [rezultatInstance: rezultatInstance])
			return
		}

		flash.message = message(code: 'default.updated.message', args: [
			message(code: 'rezultat.label', default: 'Rezultat'),
			rezultatInstance.id
		])
		redirect(action: "show", id: rezultatInstance.id)
	}

	def delete() {
		def rezultatInstance = Rezultat.get(params.id)
		if (!rezultatInstance) {
			flash.message = message(code: 'default.not.found.message', args: [
				message(code: 'rezultat.label', default: 'Rezultat'),
				params.id
			])
			redirect(action: "list")
			return
		}

		try {
			rezultatInstance.delete(flush: true)
			flash.message = message(code: 'default.deleted.message', args: [
				message(code: 'rezultat.label', default: 'Rezultat'),
				params.id
			])
			redirect(action: "list")
		}
		catch (DataIntegrityViolationException e) {
			flash.message = message(code: 'default.not.deleted.message', args: [
				message(code: 'rezultat.label', default: 'Rezultat'),
				params.id
			])
			redirect(action: "show", id: params.id)
		}
	}

	
	def list() {
		params.max = Math.min(params.max ? params.int('max') : 10, 100)
		def a= Rezultat.list(params)
		def b=Rezultat.count()

		def istraz=""

		if(params.idIstrazivanja){
			//def id=params.idIstrazivanja
			istraz= Istrazivanje.findById(params.idIstrazivanja)



			ArrayList<Rezultat> rezultati = Rezultat.findAllByIstrazivanje(istraz)
			a=rezultati// a.retainAll(rezultati)
			
			b=rezultati.size()
		}

		[rezultatInstanceList: a, rezultatInstanceTotal: b,c:istraz]
	}
	
		
	}
